##指定基础镜像，这是分阶段构建的前期阶段
## 使用alpine 构建最小运行环境
FROM java:8-alpine as builder
### 执行工作目录
WORKDIR /build
### 配置参数 JAR_FILE
ARG JAR_FILE=/target/easy-web-0.0.1-execute.jar
### 将编译构建得到的jar复制到镜像空间中。
COPY ${JAR_FILE} app.jar
### 通过spring-boot-jarmode-layertools工具从 {app.jar}中提取拆分后的构建结果
RUN java -Djarmode=layertools -jar app.jar extract && rm app.jar

# 正式构建镜像
#FROM java:8
FROM builder
# 维护者信息
MAINTAINER "https://gitee.com/mmuuyyuu/easy-study/easy-web"
# 为镜像添加元数据
LABEL version=1.0.1
# 配置环境
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
WORKDIR /build

### 前一阶段从 jar 中提取出了多个文件，这里分别执行COPY命令复制到镜像空间中，每次COPY都是一个layer
COPY --from=builder /build/dependencies/ ./
COPY --from=builder /build/snapshot-dependencies/ ./
COPY --from=builder /build/spring-boot-loader/ ./
COPY --from=builder /build/application/ ./

EXPOSE 9080

#ENTRYPOINT ["java","org.springframework.boot.loader.JarLauncher"]
# 休眠 10 s
#CMD sleep 120;java $JAVA_OPTS -jar pigx-upms-biz.jar
CMD sleep 10;java $JAVA_OPTS org.springframework.boot.loader.JarLauncher
